package com.itheima.book.service;

import com.itheima.book.utils.result.PageResult;
import com.itheima.book.pojo.dto.BooksPageQueryDTO;
import com.itheima.book.pojo.entity.Book;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.book.utils.PageHelper;

import java.util.List;

/**
* @author 86178
* @description 针对表【book】的数据库操作Service
* @createDate 2025-04-20 18:34:28
*/
public interface BookService extends IService<Book> {

    List<Book> getHotBook();

    /**
     * 获取书籍市场列表
     * @param booksPageQueryDTO 查询参数
     * @return 分页结果
     */
    PageHelper<Book> getmarket(BooksPageQueryDTO booksPageQueryDTO);

    /**
     * 获取用户发布的书籍列表（分页）
     * @param queryDTO 查询参数
     * @return 分页结果
     */
    PageHelper<Book> getUserId(BooksPageQueryDTO queryDTO);

    void savebook(Book book);

    /**
     * 分页查询书籍列表
     * @param queryDTO 查询参数
     * @return 分页结果
     */
    PageHelper<Book> getBookList(BooksPageQueryDTO queryDTO);

    /**
     * 根据ID查询书籍
     */
    Book getById(Long id);

    /**
     * 更新书籍
     * @return 是否更新成功
     */
    boolean updateById(Book book);

    /**
     * 删除书籍
     */
    void removeById(Long id);
}
